package web.fabrimind.pm.mapper;

import java.util.List;
import web.fabrimind.pm.domain.Bom;
import web.fabrimind.pm.domain.BomDetail;

/**
 * BOMMapper接口
 * 
 * @author zhihui
 * @date 2025-03-25
 */
public interface BomMapper 
{
    /**
     * 查询BOM
     * 
     * @param bomId BOM主键
     * @return BOM
     */
    public Bom selectBomByBomId(Long bomId);

    /**
     * 查询BOM列表
     * 
     * @param bom BOM
     * @return BOM集合
     */
    public List<Bom> selectBomList(Bom bom);

    /**
     * 新增BOM
     * 
     * @param bom BOM
     * @return 结果
     */
    public int insertBom(Bom bom);

    /**
     * 修改BOM
     * 
     * @param bom BOM
     * @return 结果
     */
    public int updateBom(Bom bom);

    /**
     * 删除BOM
     * 
     * @param bomId BOM主键
     * @return 结果
     */
    public int deleteBomByBomId(Long bomId);

    /**
     * 批量删除BOM
     * 
     * @param bomIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBomByBomIds(Long[] bomIds);

    /**
     * 批量删除BOM明细
     * 
     * @param bomIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBomDetailByBomIds(Long[] bomIds);
    
    /**
     * 批量新增BOM明细
     * 
     * @param bomDetailList BOM明细列表
     * @return 结果
     */
    public int batchBomDetail(List<BomDetail> bomDetailList);
    

    /**
     * 通过BOM主键删除BOM明细信息
     * 
     * @param bomId BOMID
     * @return 结果
     */
    public int deleteBomDetailByBomId(Long bomId);
}
